Computer systems may be arranged in a cluster. For example, a group of nodes may be arranged to provide distributed services such as storage, processing, and the like, on a high availability basis. Conventional use of cluster aware management however may prove awkward and incur unnecessary overhead when managing resource events and fail-over for elements that strictly exist within the context of a single node. Such is the case for many resources that are utilized in the support of a service that is exported from a node. The individual resources may have methods of recovery that allow a failure to be experienced and remedial action to be taken, all within the context of a single node.
In particular, conventional cluster management techniques for individual resources that are used by services are not well suited to resource handling within a single node of the cluster. Existing techniques do not properly define or describe the relationship between the multiple levels of resource abstraction often employed in an exported service. This deficiency limits many management capabilities for cluster administrators and users, and often results in a non-optimal response to failures.